package com.talent.loginservice;

import com.talent.entities.dto.Admin;
import com.talent.entities.dto.User;
import com.talent.entities.vo.LoginUser;
import org.springframework.stereotype.Service;

/**
 * @author 周意朗
 * Date: 2022/3/20
 * @since JDK 11
 */
@Service
public interface LoginService {

    /**
     * 适用于用户的登录方法
     *
     * @param user 要查询的user
     * @return 查询到的user
     */
    public User loginMethod(LoginUser user);

    /**
     * 适用于管理员的登录方法
     *
     * @param admin 要查询的admin
     * @return 查询到的admin
     */
    public Admin loginMethodAdmin(Admin admin);

    /**
     * 修改用户信息
     *
     * @param user 需要修改的信息
     * @return 修改后的信息
     */
    Boolean updateUser(User user);

    User afterUpdateUser(String tel);

    /**
     * 修改密码
     *
     * @param tel 电话
     * @param pwd 密码
     * @return 结果
     */
    Boolean updateUserPassword(String tel, String pwd,String id);

    /**
     * 根据用户tel查询id
     * @param tel 用户电话
     * @return 用户id
     */
    String updateUserPasswordHelper(String tel);

    /**
     * 注册
     * @param user
     * @return
     */
    Boolean registUser(User user);

    /**
     * 注册前检查id是否存在
     * @param id
     * @return
     */
    Integer beforeRegistID(String id);

    /**
     * 注册前检查tel是否存在
     * @param tel
     * @return
     */
    Integer beforeRegistTel(String tel);

}
